#ifndef __APP_H__
#define __APP_H__

#include <apps.h>
#include <loader.h>
//#include <.h>

// Эта структура идентифицирует приложение. Передаётся в любой обработчик событий.
typedef struct
{ 
	APPLICATION_T			apt; // Должно обязательно присутствовать, причём первым
	
	IFACE_DATA_T			iface;
	SU_PORT_T				port;
	
	UIS_DIALOG_T			dialog;
	
	UINT8					key_ind;
	
	int						sleep;
	
} APP_T;

#define GetAPP(a) ((APP_T*)a)

#ifdef WIN32
#define dbg( format ) PFprintf( format "\n" )
#define dbgf PFprintf
#endif

// Состояния приложения
enum APP_STATES_ENUM
{
	APP_STATE_ANY, // ANY-state всегда первым

	APP_STATE_INIT,
	APP_STATE_MAIN,

	APP_STATE_MAX // Для удобства
};
typedef UINT8 APP_STATES_T;


#ifdef __cplusplus
extern "C" {
#endif


ldrElf* _start(WCHAR* uri, WCHAR* params);


#ifdef __cplusplus
} // extern "C"
#endif


#endif // __APP_H__